/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * InterfaceUsuarioConfiguracoesGrupo.java
 *
 * Created on 28/06/2010, 15:29:43
 */

package gui;

import javax.swing.JOptionPane;

import controller.BolaoFacade;
import controller.Sessao;


import util.Input;


import bean.Grupo;
import bean.Jogador;
import exception.ExceptionGrupo;
import exception.ExceptionSenha;

import java.util.ArrayList;
import java.util.List;

/**
 * Interface Configuracao de Grupo
 * @author Claudio Cardoso, Daniel Leite, Lucas Sampaio, Matheus Sampaio
 * @version 1.0
 */
public class InterfaceUsuarioConfiguracoesGrupo extends javax.swing.JFrame {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	Jogador jogadorLogado = Sessao.getInstance().getJogadorLogado();
	BolaoFacade bolaoFacade = new BolaoFacade();
	
    /** Creates new form InterfaceUsuarioConfiguracoesGrupo */
    public InterfaceUsuarioConfiguracoesGrupo() {
        initComponents();
        setLocationRelativeTo(null);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        criarGrupoUsuario = new javax.swing.JButton();
        deletarGrupoUsuario = new javax.swing.JButton();
        colocaSenhaUsuario = new javax.swing.JButton();
        modificaSenhaUsuario = new javax.swing.JButton();
        retiraSenhaUsuario = new javax.swing.JButton();
        pesquisaGrupoUsuario = new javax.swing.JButton();
        sairGrupoUsuario = new javax.swing.JButton();
        voltaInterfaceUsuario = new javax.swing.JButton();

        jButton1.setText("jButton1");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Bolão da Copa P2 - Configurações de Grupo");

        criarGrupoUsuario.setText("Criar Grupo");
        criarGrupoUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                criarGrupoUsuarioActionPerformed(evt);
            }
        });

        deletarGrupoUsuario.setText("Deletar Grupo");
        deletarGrupoUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                deletarGrupoUsuarioActionPerformed(evt);
            }
        });

        colocaSenhaUsuario.setText("Colocar Senha");
        colocaSenhaUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                colocaSenhaUsuarioActionPerformed(evt);
            }
        });

        modificaSenhaUsuario.setText("Modifica Senha");
        modificaSenhaUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                modificaSenhaUsuarioActionPerformed(evt);
            }
        });

        retiraSenhaUsuario.setText("Retira Senha");
        retiraSenhaUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                retiraSenhaUsuarioActionPerformed(evt);
            }
        });

        pesquisaGrupoUsuario.setText("Pesquisa Grupo");
        pesquisaGrupoUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pesquisaGrupoUsuarioActionPerformed(evt);
            }
        });

        sairGrupoUsuario.setText("Sair de Grupo");
        sairGrupoUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                sairGrupoUsuarioActionPerformed(evt);
            }
        });

        voltaInterfaceUsuario.setText("Voltar");
        voltaInterfaceUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                voltaInterfaceUsuarioActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(criarGrupoUsuario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(deletarGrupoUsuario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(modificaSenhaUsuario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(colocaSenhaUsuario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(91, 91, 91)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(voltaInterfaceUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
                    .addComponent(sairGrupoUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
                    .addComponent(pesquisaGrupoUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
                    .addComponent(retiraSenhaUsuario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(criarGrupoUsuario)
                    .addComponent(retiraSenhaUsuario))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(deletarGrupoUsuario)
                    .addComponent(pesquisaGrupoUsuario))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(colocaSenhaUsuario)
                    .addComponent(sairGrupoUsuario))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(modificaSenhaUsuario)
                    .addComponent(voltaInterfaceUsuario))
                .addContainerGap(19, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void voltaInterfaceUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_voltaInterfaceUsuarioActionPerformed
        new InterfaceUsuario().setVisible(true);
        dispose();
    }//GEN-LAST:event_voltaInterfaceUsuarioActionPerformed

    private void criarGrupoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_criarGrupoUsuarioActionPerformed
    	if (jogadorLogado.getGrupos().size() == 5) {
			JOptionPane.showMessageDialog(this, "Voce nao pode criar mais grupos.");
    	} else {
			String nome = JOptionPane.showInputDialog(this, "Nome do Grupo: ");
			if (nome == null)
				return;
			try {
				if (null != bolaoFacade.pesquisaGrupo(nome)) {
					JOptionPane.showMessageDialog(this, "Este grupo já existe.");
					return;
				} else {
					Grupo grupo = new Grupo(nome, jogadorLogado);
	
					
					Object[] options2 = {"Não", "Sim"};
					
					int resposta = JOptionPane.showOptionDialog(null,
							"Deseja que o grupo seja Privado?", "Bolão da Copa P2",
							JOptionPane.YES_NO_CANCEL_OPTION,
							JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);
	
					if (resposta == 1) {
						String senha = Input.password();
						Input.checaSenha(senha);
						grupo.setSenha(senha, jogadorLogado);
					}
					
					jogadorLogado.adicionaGrupo(grupo);
					
					grupo.adicionaJogador(jogadorLogado);
					
					bolaoFacade.adicionaGrupo(grupo);
				}
			} catch (ExceptionGrupo e) {
				JOptionPane.showMessageDialog(this, e.getMessage());
				return;
			} catch (ExceptionSenha e) {
				JOptionPane.showMessageDialog(this, e.getMessage());
				return;
			}
			
			JOptionPane.showMessageDialog(this, "Grupo criado.");
    	}
    }//GEN-LAST:event_criarGrupoUsuarioActionPerformed

    private void deletarGrupoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deletarGrupoUsuarioActionPerformed
    	
    	List<String> grupos = new ArrayList<String>();
    	
    	for (Grupo grupo : Sessao.getInstance().getJogadorLogado().getGrupos()){
    		if (grupo.getDono().equals(jogadorLogado)){
    			grupos.add(grupo.getNome());			// So add na lista os grupos que o usuario e dono e tem permissao para deletar
    		}
     	}
    	
    	if (grupos.size() == 0){
    		JOptionPane.showMessageDialog(this, "Voce não tem permissão para deletar nenhum grupo.");
    	} else {
        	String deletaGrupo = (String) JOptionPane.showInputDialog(null, "Escolhar o grupo que deseja deletar:", "Deletar Grupo", JOptionPane.PLAIN_MESSAGE, 
        			null, grupos.toArray(), grupos.toArray()[0]);
        	
        	if (deletaGrupo == null)
        		return;
        	
        	Object[] options2 = {"Não", "Sim"};
        	
        	int resposta = JOptionPane.showOptionDialog(null, "Tem certeza que deseja deletar este grupo ?", "Bolão da Copa P2",
        	JOptionPane.YES_NO_CANCEL_OPTION,
        	JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);
        	
        	if (resposta == 0) {
        		return;
        	} else {
            	try {
	                if (bolaoFacade.pesquisaGrupo(deletaGrupo).isPublic() == false){
	                    String senhaDoGrupo = Input.password();
	                    
	
	                    if (bolaoFacade.pesquisaGrupo(deletaGrupo).getSenha().equals(senhaDoGrupo)) {
	                    	
	                    	for (Jogador jogador : bolaoFacade.pesquisaGrupo(deletaGrupo).getJogadores()) {
	                    		jogador.sairDoGrupo(bolaoFacade.pesquisaGrupo(deletaGrupo));
	                    	}
	                        bolaoFacade.removeGrupo(bolaoFacade.pesquisaGrupo(deletaGrupo));
	                        JOptionPane.showMessageDialog(this, "Grupo Deletado com sucesso.");
	                    } else {
	                    	JOptionPane.showMessageDialog(this, "Senha errada.");
	                    	return;
	                    }
	                } else {
	                	for (Jogador jogador : bolaoFacade.pesquisaGrupo(deletaGrupo).getJogadores()) {
                    		jogador.sairDoGrupo(bolaoFacade.pesquisaGrupo(deletaGrupo));
                    	}
	                    bolaoFacade.removeGrupo(bolaoFacade.pesquisaGrupo(deletaGrupo));
	                    JOptionPane.showMessageDialog(this, "Grupo Deletado com sucesso.");
	                }
            	} catch (ExceptionGrupo e) {
            		JOptionPane.showMessageDialog(this, e.getMessage());
            		return;
            	}
            }
    	}
        	
 }//GEN-LAST:event_deletarGrupoUsuarioActionPerformed

    private void colocaSenhaUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colocaSenhaUsuarioActionPerformed
    	List<String> grupos = new ArrayList<String>();

    	for (Grupo grupo : Sessao.getInstance().getJogadorLogado().getGrupos()){
    		if (grupo.getDono().equals(jogadorLogado) && (grupo.isPublic() == true)){
    			grupos.add(grupo.getNome());			// So add na lista os grupos que o usuario e dono, e publico. Ou seja, tem permissao para colocar senha
    		}
     	}

    	if (grupos.size() == 0){
    		JOptionPane.showMessageDialog(this, "Não é possível tornar privado nenhum grupo.");
    	} else {
        	String grupoColocaSenha = (String) JOptionPane.showInputDialog(this, "Escolhar o grupo que deseja colocar senha:", "Torna Grupo Privado", JOptionPane.PLAIN_MESSAGE,
        			null, grupos.toArray(), grupos.toArray()[0]);
        	
        	if (grupoColocaSenha == null)
        		return;
        	
            Object[] options2 = {"Não", "Sim"};

        	int resposta = JOptionPane.showOptionDialog(this, "Tem certeza que deseja colocar senha neste grupo ?", "Bolão da Copa P2",
        	JOptionPane.YES_NO_CANCEL_OPTION,
        	JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);
        	
        	if (resposta == 0)
        		return;
        	
            if (resposta == 1) {
				try {
					String senha = Input.password();
					if (senha == null)
						return;
					Input.checaSenha(senha);
					
					String senha2 = Input.password("Digite a senha novamente:");
					if (senha2 == null)
						return;
					Input.checaSenha(senha2);
					
					if (senha.equals(senha2)) {
						try {
							bolaoFacade.pesquisaGrupo(grupoColocaSenha).setSenha(senha, jogadorLogado);
						} catch (ExceptionGrupo e) {
							JOptionPane.showMessageDialog(this, e.getMessage());
							return;
						}
					} else {
						JOptionPane.showMessageDialog(this, "Senhas não batem.");
						return;
					}
				} catch (ExceptionSenha e) {
					JOptionPane.showMessageDialog(this, e.getMessage());
					return;
				}
			}
    	}
    }//GEN-LAST:event_colocaSenhaUsuarioActionPerformed

    private void modificaSenhaUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_modificaSenhaUsuarioActionPerformed
        List<String> grupos = new ArrayList<String>();

    	for (Grupo grupo : Sessao.getInstance().getJogadorLogado().getGrupos()){
    		if (grupo.getDono().equals(jogadorLogado) && (grupo.isPublic() == false)){
    			grupos.add(grupo.getNome());			// So add na lista os grupos que o usuario e dono, e privado. Ou seja, tem permissao para modificar a senha
    		}
     	}

        if (grupos.size() == 0){
    		JOptionPane.showMessageDialog(this, "Não é possível modificar senha de nenhum grupo.");
    	} else {
            String grupoModificaSenha = (String) JOptionPane.showInputDialog(null, "Escolhar o grupo que deseja modificar senha:", "Modifica Senha de Grupo", JOptionPane.PLAIN_MESSAGE,
        	null, grupos.toArray(), grupos.toArray()[0]);
            if (grupoModificaSenha == null)
            	return;
            
            Object[] options2 = {"Não", "Sim"};
            int resposta = JOptionPane.showOptionDialog(null, "Tem certeza que deseja modificar senha neste grupo ?", "Bolão da Copa P2",
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);
            if (resposta == 0)
            	return;
            
            if (resposta == 1) {


                try {
                	String senhaAntiga = Input.password("Digite a senha antiga: ");
                	Input.checaSenha(senhaAntiga);
                	
					if (bolaoFacade.pesquisaGrupo(grupoModificaSenha).getSenha().equals(senhaAntiga)){
					    String senhaNova = Input.password("Digite a nova senha:");
					    Input.checaSenha(senhaNova);
					    String senhaNova2 = Input.password("Digite a senha novamente: ");
					    Input.checaSenha(senhaNova2);

					    if (senhaNova.equals(senhaNova2)){
					    	bolaoFacade.pesquisaGrupo(grupoModificaSenha).setSenha(senhaNova, jogadorLogado);
					        JOptionPane.showMessageDialog(this, "Senha modificada com sucesso.");
					        return;
					    } else {
					        JOptionPane.showMessageDialog(this, "Senhas não batem.");
					        return;
					    }

					} else {
					    JOptionPane.showMessageDialog(this, "Senha do Grupo errada.");
					    return;
					}
				} catch (ExceptionGrupo e) {
					JOptionPane.showMessageDialog(this, e.getMessage());
					return;
				} catch (ExceptionSenha e) {
					JOptionPane.showMessageDialog(this, e.getMessage());
					return;
				}
            }

        }
    }//GEN-LAST:event_modificaSenhaUsuarioActionPerformed

    private void retiraSenhaUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_retiraSenhaUsuarioActionPerformed
        List<String> grupos = new ArrayList<String>();

    	for (Grupo grupo : Sessao.getInstance().getJogadorLogado().getGrupos()){
    		if (grupo.getDono().equals(jogadorLogado) && (grupo.isPublic() == false)){
    			grupos.add(grupo.getNome());			// So add na lista os grupos que o usuario e dono, e privado. Ou seja, tem permissao para retirar a senha
    		}
     	}

        if (grupos.size() == 0){
    		JOptionPane.showMessageDialog(this, "Não é possível retirar senha de nenhum grupo.");
    	} else {

            String grupoRetiraSenha = (String) JOptionPane.showInputDialog(null, "Escolhar o grupo que deseja retirar senha:", "Retira Senha de Grupo", JOptionPane.PLAIN_MESSAGE,
        	null, grupos.toArray(), grupos.toArray()[0]);
            if (grupoRetiraSenha == null)
            	return;
            
            Object[] options2 = {"Não", "Sim"};

            int resposta = JOptionPane.showOptionDialog(null, "Tem certeza que deseja retirar a senha neste grupo ?", "Bolão da Copa P2",
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);
            if (resposta == 0)
            	return;
            
            if (resposta == 1) {

                String senhaAntiga = Input.password("Digite a senha do grupo: ");
                
                try {
	                if (bolaoFacade.pesquisaGrupo(grupoRetiraSenha).getSenha().equals(senhaAntiga)){
	                	bolaoFacade.pesquisaGrupo(grupoRetiraSenha).retiraSenha(jogadorLogado);
	                    JOptionPane.showMessageDialog(this, "Senha do Grupo retirada com sucesso.");
	                } else {
	                    JOptionPane.showMessageDialog(this, "Senha do Grupo errada.");
	                    return;
	                }
                } catch (ExceptionGrupo e) {
                	JOptionPane.showMessageDialog(this, e.getMessage());
                    return;
                }
            }

        }

    }//GEN-LAST:event_retiraSenhaUsuarioActionPerformed

    private void pesquisaGrupoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pesquisaGrupoUsuarioActionPerformed
        List<String> grupos = new ArrayList<String>();

        String nomeProcuraGrupo = JOptionPane.showInputDialog(null, "Digite nome do grupo: ");

		for (Grupo grupo : Sessao.getInstance().getBolao().getGrupos()) {
			if (grupo.getNome().toLowerCase().contains(nomeProcuraGrupo.toLowerCase())) {
				grupos.add(grupo.getNome());
			}
		}

        if (grupos.size() == 0){
            JOptionPane.showMessageDialog(this, "Nenhum Grupo Encontrado.");
            return;
        } else {

            String grupoEscolhido = (String) JOptionPane.showInputDialog(null, "Escolhar o grupo:", "Pesquisa Grupo", JOptionPane.PLAIN_MESSAGE,
        	null, grupos.toArray(), grupos.toArray()[0]);
            if (grupoEscolhido == null)
            	return;
            
            Grupo grupo = null;
            try {
				grupo = bolaoFacade.pesquisaGrupo(grupoEscolhido);
			} catch (ExceptionGrupo e1) {
				JOptionPane.showMessageDialog(this, e1.getMessage());
				return;
			}
            
            Object[] options2 = {"Voltar", "Participar do Grupo"};
            
            int resposta = JOptionPane.showOptionDialog(null, grupo.toString(), "Bolão da Copa P2",
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);

            if (resposta == 1) {

				try {
					if (jogadorLogado.getGrupos().size() == 5) {
						JOptionPane.showMessageDialog(this,"Vocẽ já participa de 5 grupos.");
					} else if (grupo.getJogadores().contains(jogadorLogado)) {
						JOptionPane.showMessageDialog(this,"Vocẽ já participa deste grupos.");
					} else if (grupo.getDono().getEmail().equals("root")) {
						JOptionPane.showMessageDialog(this,"Vocẽ não pode participar deste grupo.");
					} else if (grupo.isPublic() == true) {
						jogadorLogado.adicionaGrupo(grupo);
						grupo.adicionaJogador(jogadorLogado);

						JOptionPane.showMessageDialog(null,"Você entrou no grupo.");
					} else {
						String senha = Input.password("Digite a senha do grupo: ");

						if (grupo.getSenha().equals(senha)) {
							grupo.adicionaJogador(jogadorLogado);
							jogadorLogado.adicionaGrupo(grupo);

							JOptionPane.showMessageDialog(null,"Você entrou no grupo.");
						} else {
							JOptionPane.showMessageDialog(null,"Senha Incorreta.");
						}
					}
				} catch (ExceptionGrupo e) {
					JOptionPane.showMessageDialog(null, e.getMessage());
				}
			}
		}



    }//GEN-LAST:event_pesquisaGrupoUsuarioActionPerformed

    private void sairGrupoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sairGrupoUsuarioActionPerformed
        List<String> grupos = new ArrayList<String>();

    	for (Grupo grupo : Sessao.getInstance().getJogadorLogado().getGrupos()){
            grupos.add(grupo.getNome());
        }

        if (grupos.size() == 2) { //Ele participa de no minimo 2 grupos: Todos e da Selecao
            JOptionPane.showMessageDialog(this, "Você não participa de nenhum grupo.");
    	} else {
            String sairGrupo = (String) JOptionPane.showInputDialog(null, "Escolhar o grupo que deseja sair", "Sair de um Grupo", JOptionPane.PLAIN_MESSAGE,
        	null, grupos.toArray(), grupos.toArray()[0]);
            if (sairGrupo == null)
            	return;
            
            Object[] options2 = {"Não", "Sim"};

            int resposta = JOptionPane.showOptionDialog(null, "Tem certeza que deseja sair deste grupo ?", "Bolão da Copa P2",
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.QUESTION_MESSAGE, null, options2, options2[0]);
            if (resposta == 0)
            	return;
            if (resposta == 1){
            	
            	try {
	                if (bolaoFacade.pesquisaGrupo(sairGrupo).getDono().getEmail().equals("root") || bolaoFacade.pesquisaGrupo(sairGrupo).getDono().getEmail().equals(jogadorLogado.getEmail())){
	                    JOptionPane.showMessageDialog(this, "Você não pode sair deste grupo.");
	                    return;
	                } else {
	                	bolaoFacade.pesquisaGrupo(sairGrupo).removeJogador(jogadorLogado);
	                    jogadorLogado.sairDoGrupo(bolaoFacade.pesquisaGrupo(sairGrupo));
	                    JOptionPane.showMessageDialog(this, "Você saiu do grupo.");
	                }
            	} catch (ExceptionGrupo e) {
            		JOptionPane.showMessageDialog(this, e.getMessage());
            		return;
            	}
            }
        }

    }//GEN-LAST:event_sairGrupoUsuarioActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new InterfaceUsuarioConfiguracoesGrupo().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton colocaSenhaUsuario;
    private javax.swing.JButton criarGrupoUsuario;
    private javax.swing.JButton deletarGrupoUsuario;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton modificaSenhaUsuario;
    private javax.swing.JButton pesquisaGrupoUsuario;
    private javax.swing.JButton retiraSenhaUsuario;
    private javax.swing.JButton sairGrupoUsuario;
    private javax.swing.JButton voltaInterfaceUsuario;
    // End of variables declaration//GEN-END:variables

}
